IncrediLink

注意: Microsoft 社のサポート終了にともない、Visual Studio 2008 以前のバージョンは Incredibuild のサポート対象外となりました。

ここでは IncrediLink オプションを使ってインクリメンタル リンクを高速に処理する方法をみていきます。IncrediLink では Visual Studio のインクリメンタル リンク オプションと修正した link.exe コマンドラインを組み合わせて、LIB ファイルの代わりに (LIB ファイルを構成する) OBJ ファイルを参照します。メインプロジェクトにリンクされた LIB プロジェクトで構成されたソリューションで、インクリメンタル リンク機能を有効にするのに必要です。DLL および EXE プロジェクトのリンクに作用します。

>IncrediLink の有効化

  1. [Agent Settings] を開いて [Visual Studio Builds] > [Linker] に移動します。

  2. [By default, enable IncrediLink] のチェックボックスをオンにして必要なオプションを選択します。

    • [According to "Enable Incremental Linking" project setting]: [インクリメンタル リンク] が有効 (デフォルトでは有効) なプロジェクトでのみ IncrediLink を有効にします。

    • [For all projects]: すべてのプロジェクトで IncrediLink を有効にします。

    • [Do not create libraries]: 親プロジェクトのリンク コマンドラインに OBJ ファイルが埋め込まれた LIB プロジェクトのリンク ステップをスキップします。このような LIB プロジェクトの OBJ ファイルは、メインの実行ファイル / DLL に紐付けられます。LIB プロジェクトのリンク ステップをスキップすることで、ビルド時間が短縮ができることがあります。

  3. [According to Incredibuild default setting] または [According to 'use Library Dependency Inputs' project option] のどちらかを動作モードに指定します (プロパティでこの設定が有効になっているプロジェクトでのみ IncrediLink が有効になります)。

注意事項

  • 別々のライブラリ プロジェクトで同じシンボルが二度定義されている場合、シンボル リンクの重複エラー メッセージが表示されることがあります。これは、リンカが異なるオブジェクト ファイルでシンボルが重複して定義されるよりも、ライブラリのシンボルが重複していることに耐性があるためです。この場合、シンボルを一度だけ含めるようにコードを変更します。

  • 「Missing Function body」エラーが表示される場合はコードに関数本体のスタブを追加します。

  • コードで参照されていないシンボルも最終出力に含まれます (通常のリンクでは無視されます)。